package top.ucat.x.system.service.management;

import top.ucat.box.starter.mybatis.plus.base.service.BaseCrudService;
import top.ucat.x.system.entity.SysRolePermission;

import java.util.List;
import java.util.Set;

/**
 * @Auther: Jun
 * @Date: 2020/4/21 17:42
 * @Description:
 */
public interface SysRolePermissionService extends BaseCrudService<SysRolePermission> {

    /**
     * 保存角色权限
     *
     * @param permissions
     */
    void saveRolePermissions(List<SysRolePermission> permissions);

    /**
     * 删除角色权限
     *
     * @param roleId
     * @param type
     */
    void deleteRolePermissions(String roleId, Integer type);

    /**
     * 获取角色权限
     *
     * @param roleId
     * @param type
     * @return
     */
    List<SysRolePermission> getRolePermissions(String roleId, Integer type);

    /**
     * 获取用户权限
     *
     * @param userId
     * @return
     */
    List<SysRolePermission> getUserPermission(String userId);

    /**
     * 获取用户的权限码
     *
     * @param userId
     * @return
     */
    Set<String> getUserPermissionCodes(String userId);


}
